<?php

// первый тип стоящий в этом конфиге - открывается по умолчанию
$self['doc'] = array(
	"typename" => "Сообщение",
	'action_title' => "Написать сообщение",
	"fields" => array(
		"header" => array(
			// параметры бд
			"db_name" => "title",
			"db_type" => "string",
			"db_size" => 255,

			// параметры рендеринга форм, один в один параметры поля для формпроцессора
			"wrapper_tpl" => "wrapper:TextWrapper", // обертка вокруг поля при создании итема
			"interface_tpl" => "string:Plain", // само поле
			"wrapper_title" => "Заголовок",
			"wrapper_desc" => "Максимум 100 символов",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=>1, ),  // пустое-не пустое?
		),
		"body" => array(
			"db_name" => "body",
			"db_type" => "string",
			"wrapper_tpl" => "wrapper:WysiwygWrapper",
			//'filter' => 'filter_safehtml',
			'filter' => 'filter_tinymce',
			"interface_tpl" => "string:Tinymce",
			"interface_tpl_params" => array ('tiny_mce_layout' => 'full'),
			"wrapper_title" => "Текст записи",
			//"wrapper_desc" => "Максимум 100 символов",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=> 1, ),
		),
		"announce" => array(
			"db_name" => "announce",
			"db_type" => "string",
			"db_size" => 255,
			'filter' => 'filter_safehtml',
			//'filter' => 'filter_tinymce',
			"wrapper_tpl" => "wrapper:TextAreaWrapper",
			"interface_tpl" => "string:Textarea",
			//"interface_tpl_params" => array ('tiny_mce_layout' => 'full'),
			"wrapper_title" => "Анонс в ленту",
			//"wrapper_desc" => "Максимум 100 символов",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=>0, ),  // пустое-не пустое?
		),
	),
	"implement" => "collections/collection.php#collection",

);

$self['image'] = array(
	"typename" => "Картинка",
	'action_title' => "Выгрузить картинку",
	"fields" => array(
		"header" => array(
			// параметры бд
			"db_name" => "title",
			"db_type" => "string",
			"db_size" => 255,

			// параметры рендеринга форм
			"wrapper_tpl" => "wrapper:TextWrapper", // обертка вокруг поля при создании итема
			"interface_tpl" => "string:Plain", // само поле
			"wrapper_title" => "Заголовок",
			"wrapper_desc" => "Максимум 100 символов",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=>1, ),
		),
		"image_oid" => array(
			"db_name" => "image_oid",
			"db_type" => "integer",

			"model"      => "model_upload",
			"external_postprocessing" => 1,
			"external_postprocessing_type" => "image",

			"wrapper_tpl"   => "wrapper:FileWrapper",
			"interface_tpl" => "upload:UploadImage",
			"interface_tpl_params" => array ("slot" => 'sm1'),
			"wrapper_title" => "Путь к изображению	",
			//"wrapper_desc" => "Максимум 100 символов",

			"validator" => "validator_upload",
			"validator_params" => array(
				"maxsize"=>2000*1024,
				"max_w"=>floor( 4*SQRT(((php_get_memory_limit() - 5242880)/6)/12) ),
				"max_h"=>floor( 3*SQRT(((php_get_memory_limit() - 5242880)/6)/12) ),
				"fileext"=>array('gif', 'png', 'jpg', 'jpe', 'jpeg'),
				'filetype' => 'image',
				/*'not_empty' => 1 */
			),
		),
		"description" => array(
			"db_name" => "description",
			"db_type" => "string",
			"db_size" => 255,
			'filter' => 'filter_safehtml',
			"wrapper_tpl" => "wrapper:TextAreaWrapper",
			"interface_tpl" => "string:Textarea",
			//"interface_tpl_params" => array ('tiny_mce_layout' => 'full'),
			"wrapper_title" => "Описание картинки",
			//"wrapper_desc" => "Максимум 100 символов",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=>0, ),
		),
	),
	"implement" => "collections/collection.php#collection",

);


$self['file'] = array(
	"typename" => "Файл",
	'action_title' => "Выгрузить файл",
	"fields" => array(
		"header" => array(
			// параметры бд
			"db_name" => "title",
			"db_type" => "string",
			"db_size" => 255,

			// параметры рендеринга форм
			"wrapper_tpl" => "wrapper:TextWrapper", // обертка вокруг поля при создании итема
			"interface_tpl" => "string:Plain", // само поле
			"wrapper_title" => "Заголовок",
			"wrapper_desc" => "Максимум 100 символов",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=>1, ),
		),
		"file_oid" => array(
			"db_name" => "file_oid",
			"db_type" => "integer",

			"model"      => "model_upload",
			"external_postprocessing" => 1,
			"external_postprocessing_type" => "file",

			"wrapper_tpl"   => "wrapper:FileWrapper",
			"interface_tpl" => "upload:UploadFile",
			"wrapper_title" => "Файл для выгрузки",
			"wrapper_desc" => "Максимум 2 Мб",

			"validator" => "validator_upload",
			"validator_params" => array(
				//"maxsize"=>1024*2000,
//				"fileext"=>array('doc', 'zip', 'rar', 'pdf'),
				"exclude_fileext"=>array( 'htaccess', 'php', 'js', 'swp' ),
				//'not_empty' => 1
			),
		),
		"description" => array(
			"db_name" => "description",
			"db_type" => "string",
			"db_size" => 255,
			'filter' => 'filter_safehtml',
			"wrapper_tpl" => "wrapper:TextAreaWrapper",
			"interface_tpl" => "string:Textarea",
			//"interface_tpl_params" => array ('tiny_mce_layout' => 'full'),
			"wrapper_title" => "Описание файла",
			//"wrapper_desc" => "Максимум 100 символов",
			"validator_params"=> array(	"not_empty"=>0, ),
		),
	),
	"implement" => "collections/collection.php#collection",

);

$self['videotube'] = array(
	"typename" => "Видео",
	'action_title' => "Показать видео",
	"fields" => array(
		"header" => array(
			// параметры бд
			"db_name" => "title",
			"db_type" => "string",
			"db_size" => 255,

			// параметры рендеринга форм
			"wrapper_tpl" => "wrapper:TextWrapper", // обертка вокруг поля при создании итема
			"interface_tpl" => "string:Plain", // само поле
			"wrapper_title" => "Заголовок",
			"wrapper_desc" => "Максимум 100 символов",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=>1, ),
		),
	"url" => array(
		// параметры бд
		"db_name" => "url",
		"db_type" => "string",
		"db_size" => 255,

		// параметры рендеринга форм
		"wrapper_tpl" => "wrapper:TextWrapper", // обертка вокруг поля при создании итема
		"interface_tpl" => "string:Plain", // само поле
		"wrapper_title" => "Адрес ссылки (URL)",
		"wrapper_desc" => "Максимум 255 символов",
		"validator" => "validator_string",
		"validator_params"=> array(	"not_empty"=>1, "is_regexp"=>"/^[^а-бА-Б ]+$/" ), // more complex check: /^((http|ftp):\/)?\/?([^:\/\s]+)((\/\w+)*\/)([\w\-\.]+\.[^#?\s]+)(#[\w\-]+)?$/

		"external_postprocessing" => 1,
		"external_postprocessing_type" => "videotubelink",
	),
		"description" => array(
			"db_name" => "description",
			"db_type" => "string",
			"db_size" => 255,
			'filter' => 'filter_safehtml',
			"wrapper_tpl" => "wrapper:TextAreaWrapper",
			"interface_tpl" => "string:Textarea",
			"interface_tpl_params" => array ('tiny_mce_layout' => 'full'),
			"wrapper_title" => "Описание видео",
			//"wrapper_desc" => "Максимум 100 символов",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=>0, ),
		),
	),
	"implement" => "collections/collection.php#collection",

);

$self['link'] = array(
	"typename" => "Ссылка",
	'action_title' => "Поделиться ссылкой",
	"fields" => array(
		"header" => array(
			// параметры бд
			"db_name" => "title",
			"db_type" => "string",
			"db_size" => 255,

			// параметры рендеринга форм
			"wrapper_tpl" => "wrapper:TextWrapper", // обертка вокруг поля при создании итема
			"interface_tpl" => "string:Plain", // само поле
			"wrapper_title" => "Заголовок",
			"wrapper_desc" => "Максимум 100 символов",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=>1, ),
		),
	"url" => array(
		// параметры бд
		"db_name" => "url",
		"db_type" => "string",
		"db_size" => 255,

		// параметры рендеринга форм
		"wrapper_tpl" => "wrapper:TextWrapper", // обертка вокруг поля при создании итема
		"interface_tpl" => "string:Plain", // само поле
		"wrapper_title" => "Адрес ссылки (URL)",
		"wrapper_desc" => "Максимум 255 символов",
		"validator" => "validator_string",
		"validator_params"=> array(	"not_empty"=>1, "is_regexp"=>"/^[^а-бА-Б ]+$/" ), // more complex check: /^((http|ftp):\/)?\/?([^:\/\s]+)((\/\w+)*\/)([\w\-\.]+\.[^#?\s]+)(#[\w\-]+)?$/

		"external_postprocessing" => 1,
		"external_postprocessing_type" => "url",
	),
		"description" => array(
			"db_name" => "description",
			"db_type" => "string",
			"db_size" => 255,
			'filter' => 'filter_safehtml',
			"wrapper_tpl" => "wrapper:TextAreaWrapper",
			"interface_tpl" => "string:Textarea",
			"interface_tpl_params" => array ('tiny_mce_layout' => 'full'),
			"wrapper_title" => "Описание ссылки",
			//"wrapper_desc" => "Максимум 100 символов",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=>0, ),
		),
	),
	"implement" => "collections/collection.php#collection",

);

/*
$self['rss_rule'] = array(
	"typename" => "Правила обработки лент",
	"fields" => array(
		"header" => array(
			// параметры бд
			"db_name" => "title",
			"db_type" => "string",
			"db_size" => 100,

			// параметры рендеринга форм
			"wrapper_tpl" => "wrapper:TextWrapper", // обертка вокруг поля при создании итема
			"interface_tpl" => "string:Plain", // само поле
			"wrapper_title" => "Заголовок",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=>1, ),
		),
		"condition" => array(
			"wrapper_tpl" => "wrapper:SelectWrapper", // обертка вокруг поля при создании итема
			"wrapper_title" => "Условие",
			//"wrapper_desc" => "URL профиля с platonoca_id, максимум 255 символов",

			"view" => "options",
			"interface" => "options",
			"interface_tpl" => "options:Select",

			"options_mode" => "select",

			"options"      => array(
				"1" => "Текст в теле",
				"2" => "Совпадения тегов",
				"3" => "Автор",
			),

			"validator_params"=> array(	"not_empty"=>0, ),  // пустое-не пустое?
			'db_default' => '0',
		),
		"condition_param" => array(
			"wrapper_tpl" => "wrapper:TextWrapper", // обертка вокруг поля при создании итема
			"interface_tpl" => "string:Plain", // само поле
			"wrapper_title" => "Параметр к условию",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=>1, ),
		),
		"change_commands"=> array(
			"wrapper_tpl" => "wrapper:TextAreaWrapper",
			"interface_tpl" => "string:Textarea",
			"wrapper_title" => "Изменить содержимое записи",
			"wrapper_desc" => "Отделяйте команды ответа переводом строки",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=>0, ),
		),
		"ops_commands"=>array(
			"wrapper_tpl" => "wrapper:TextAreaWrapper",
			"interface_tpl" => "string:Textarea",
			"wrapper_title" => "Операции которые нужно произвести над записью",
			"wrapper_desc" => "Отделяйте команды переводом строки",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=>0, ),

		)

	),
	"implement" => "collections/collection.php#collection",

);
*/
/*
$self['comment'] = array(
	"typename" => "Комментарии",
	"fields" => array(
		"text" => array(
			"db_name" => "text",
			"db_type" => "string",
			"db_size" => 255,
			"wrapper_tpl" => "wrapper:TextAreaWrapper",
			"interface_tpl" => "string:Tinymce",
			"interface_tpl_params" => array ('tiny_mce_layout' => 'full'),
			"wrapper_title" => "Описание файла",
			//"wrapper_desc" => "Максимум 100 символов",
			"validator_params"=> array(	"not_empty"=>0, ),
		),
		"edited_user_oid" => array(
			"db_name" => "edited_user_oid",
			"db_type" => "integer",
			'db_default' => NULL,

			"not_render" => 1,
		),
		"edited_dtime" => array(
			"db_name" => "edited_dtime",
			"db_type" => "datetime",
			'db_default' => NULL,

			"not_render" => 1,
		),

	),
	"implement" => "collections/collection.php#collection",

);
*/

$self['quest'] = array(
	"typename" => "Квест",
	'action_title' => "Создать квест",
	"fields" => array(
		"title" => array(
			// параметры бд
			"db_name" => "title",
			"db_type" => "string",
			"db_size" => 255,
		),
		"community_oid" => array(
			// параметры бд
			"db_name" => "community_oid",
			"db_type" => "integer",
		),
		"is_published" => array(
			// параметры бд
			"db_name" => "is_published",
			"db_type" => "integer",
		),
		"is_finished" => array(
			// параметры бд
			"db_name" => "is_finished",
			"db_type" => "integer",
		),
	),
	"implement" => "collections/collection.php#collection",

);

/* === Дополнительные типы "журнального" мумака === */

// Тип документа "Рецензия" для Михеева #325
$self['review'] = array(
	"typename" => "Обзор",
	'action_title' => "Написать обзор",
	"fields" => array(
		"header" => array(
			// параметры бд
			"db_name" => "title",
			"db_type" => "string",
			"db_size" => 255,

			// параметры рендеринга форм, один в один параметры поля для формпроцессора
			"wrapper_tpl" => "wrapper:TextWrapper", // обертка вокруг поля при создании итема
			"interface_tpl" => "string:Plain", // само поле
			"wrapper_title" => "Название рецензии",
			"wrapper_desc" => "Максимум 100 символов",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=>1, ),  // пустое-не пустое?
		),
		"body" => array(
			"db_name" => "body",
			"db_type" => "string",
			"wrapper_tpl" => "wrapper:WysiwygWrapper",
			//'filter' => 'filter_safehtml',
			'filter' => 'filter_tinymce',
			"interface_tpl" => "string:Tinymce",
			"interface_tpl_params" => array ('tiny_mce_layout' => 'full'),
			"wrapper_title" => "Текст рецензии",
			//"wrapper_desc" => "Максимум 100 символов",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=> 1, ),
		),
		"announce" => array(
			"db_name" => "announce",
			"db_type" => "string",
			"db_size" => 255,
			'filter' => 'filter_safehtml',
			//'filter' => 'filter_tinymce',
			"wrapper_tpl" => "wrapper:TextAreaWrapper",
			"interface_tpl" => "string:Textarea",
			//"interface_tpl_params" => array ('tiny_mce_layout' => 'full'),
			"wrapper_title" => "Анонс в ленту",
			//"wrapper_desc" => "Максимум 100 символов",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=>0, ),  // пустое-не пустое?
		),

		"subject_url" => array(
			// параметры бд
			"db_name" => "subject_url",
			"db_type" => "string",
			"db_size" => 255,

			// параметры рендеринга форм
			"wrapper_tpl" => "wrapper:TextWrapper", // обертка вокруг поля при создании итема
			"interface_tpl" => "string:Plain", // само поле
			"wrapper_title" => "Адрес ссылки на предмет рецензии (URL)",
			"wrapper_desc" => "Максимум 255 символов",
			"validator" => "validator_string",
			"validator_params"=> array("not_empty"=>0, "is_regexp"=>"/^[^а-бА-Б ]+$/" ), // more complex check: /^((http|ftp):\/)?\/?([^:\/\s]+)((\/\w+)*\/)([\w\-\.]+\.[^#?\s]+)(#[\w\-]+)?$/

			"external_postprocessing" => 1,
			"external_postprocessing_type" => "url",
		),

		"subject_title" => array(
			// параметры бд
			"db_name" => "subject_title",
			"db_type" => "string",
			"db_size" => 255,

			// параметры рендеринга форм, один в один параметры поля для формпроцессора
			"wrapper_tpl" => "wrapper:TextWrapper", // обертка вокруг поля при создании итема
			"interface_tpl" => "string:Plain", // само поле
			"wrapper_title" => "Название предмета рецензии",
			"wrapper_desc" => "Максимум 100 символов",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=>0, ),  // пустое-не пустое?
		),
		"subject_description" => array(
			"db_name" => "subject_description",
			"db_type" => "string",
			"wrapper_tpl" => "wrapper:TextAreaWrapper",
			'filter' => 'filter_safehtml',
			"interface_tpl" => "string:Textarea",
			//"interface_tpl_params" => array ('tiny_mce_layout' => 'full'),
			"wrapper_title" => "Краткое описание предмета рецензии",
			//"wrapper_desc" => "Максимум 100 символов",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=> 0, ),
		),
		"subject_authors" => array(
			// параметры бд
			"db_name" => "subject_authors",
			"db_type" => "string",
			"db_size" => 255,

			// параметры рендеринга форм, один в один параметры поля для формпроцессора
			"wrapper_tpl" => "wrapper:TextWrapper", // обертка вокруг поля при создании итема
			"interface_tpl" => "string:Plain", // само поле
			"wrapper_title" => "Авторы предмета рецензии",
			"wrapper_desc" => "Максимум 100 символов",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=>0, ),  // пустое-не пустое?
		),
		"subject_isdn" => array(
			// параметры бд
			"db_name" => "isdn",
			"db_type" => "string",
			"db_size" => 255,

			// параметры рендеринга форм, один в один параметры поля для формпроцессора
			"wrapper_tpl" => "wrapper:TextWrapper", // обертка вокруг поля при создании итема
			"interface_tpl" => "string:Plain", // само поле
			"wrapper_title" => "ISDN",
			"wrapper_desc" => "Максимум 100 символов",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=>0, ),  // пустое-не пустое?
		),
	),
	"implement" => "collections/collection.php#collection",

);

$self['issue'] = array(
	"typename" => "Выпуск журнала",
	'action_title' => "Добавить журнал",
	"fields" => array(
		"publish_date" => array(
			"db_name" => "publish_date",
			"db_type" => "string",
			"db_size" => 20,
			"wrapper_tpl" => "wrapper:TextWrapper",
			"interface_tpl" => "string:Plain",
			"wrapper_title" => "Дата публикации",
			"wrapper_desc" => "Формат: ГГГГ-ММ-ДД",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=>1, "is_regexp"=>"/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/" ),  // пустое-не пустое?
		),
		"issue_number" => array(
			// параметры бд
			"db_name" => "issue_number",
			"db_type" => "string",
			"db_size" => 10,

			"wrapper_tpl" => "wrapper:TextWrapper",
			"interface_tpl" => "string:Plain",
			"wrapper_title" => "Номер выпуска",
			"wrapper_desc" => "Максимум 10 символов",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=>1, "is_numeric"=>1, "max"=>10 ),
		),
		"issue_name" => array(
			"db_name" => "issue_name",
			"db_type" => "string",
			"db_size" => 100,
			"wrapper_tpl" => "wrapper:TextWrapper",
			"interface_tpl" => "string:Plain",
			"wrapper_title" => "Название выпуска",
			"wrapper_desc" => "Максимум 100 символов",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=> 0, "max"=>100 ),
		),
		"issue_descr" => array(
			"db_name" => "issue_descr",
			"db_type" => "string",
			"db_size" => 255,
			'filter' => 'filter_safehtml',
			"wrapper_tpl" => "wrapper:TextAreaWrapper",
			"interface_tpl" => "string:Textarea",
			//"interface_tpl_params" => array ('tiny_mce_layout' => 'full'),

			"wrapper_title" => "Краткое описание выпуска",
			"wrapper_desc" => "Максимум 255 символов",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=>0, /*"max"=>255*/ ),
			"external_postprocessing" => 1,
			"external_postprocessing_type" => "safehtml",

		),
	),
	"implement" => "collections/collection.php#collection",

);

$self['vote'] = array(
	"typename" => "Голосование",
	'action_title' => "Создать голосование",
	"fields" => array(
		"title" => array(
			// параметры бд
			"db_name" => "title",
			"db_type" => "string",
			"db_size" => 100,

			"wrapper_tpl" => "wrapper:TextWrapper",
			"interface_tpl" => "string:Plain",
			"wrapper_title" => "Тема голосования",
			"wrapper_desc" => "Максимум 100 символов",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=> 0, "max"=>100 ),
		),

		"question" => array(
			"db_name" => "question",
			"db_type" => "string",
			"wrapper_tpl" => "wrapper:TextAreaWrapper",
			//"wrapper_tpl" => "wrapper:TextWrapper",
			'filter' => 'filter_safehtml',
			"interface_tpl" => "string:Textarea",
			"wrapper_title" => "Описание",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=> 1, ),
		),

		"answers" => array(
//			"db_name" => "answers",
//			"db_type" => "string",
			"not_editable" => 1,

			"wrapper_tpl" => "wrapper:TextAreaWrapper",
			"interface_tpl" => "string:Textarea",
			"wrapper_title" => "Варианты ответа",
			"wrapper_desc" => "Отделяйте варианты ответа переводом строки",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=>0, ),
		),

		"date_till" => array( // голосование считается законченым если эта дата раньше текущего времени
			"db_name" => "date_till",
			"db_type" => "string",
			"db_size" => 20,
			"wrapper_tpl" => "wrapper:TextWrapper",
			"interface_tpl" => "string:Plain",
			"wrapper_title" => "Дата окончания",
			"wrapper_desc" => "Формат: ГГГГ-ММ-ДД",
			"validator" => "validator_string",
			"validator_params"=> array(	"not_empty"=>0, "is_regexp"=>"/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/" ),
		),

	),
	"implement" => "collections/collection.php#collection",

);
